module.exports = {
  // 基本路径
  publicPath: process.env.NODE_ENV === 'production' ? '/' : '/',
  outputDir: 'dist',
  // 放置静态资源的地方 (js/css/img/font/...)
  assetsDir: 'static',
  // 以多页模式构建应用程序。
  pages: undefined,
  // 是否使用包含运行时编译器的 Vue 构建版本
  runtimeCompiler: false,
  parallel: require('os').cpus().length > 1,
  // 是否在保存的时候使用 `eslint-loader` 进行检查。
  lintOnSave: false,
  // 有效的值：`ture` | `false` | `"error"`
  // 当设置为 `"error"` 时，检查出的错误会触发编译失败。
  // lintOnSave: false,

  // 是否为生产环境构建生成 source map？这样打包的dist文件体积会很小（正式版）
  // 为true带测试环境，提交会大很多
  productionSourceMap: false,
  css: {
    extract: false,
    loaderOptions: {
      less: {
        modifyVars: {
          'theme': '#FFBE37',
          'primary-color': '#FFBE37',
          'btn-primary-color': '#333333',
          'btn-default-color': '#FFBE37',
          'btn-default-border': '#FFBE37',
        },
        javascriptEnabled: true
      },
      sass: {
        prependData: `@import "@/assets/styles/variable.scss";`
      }
    },
  },
  devServer: {
    open: process.platform === 'darwin',
    disableHostCheck: false,
    host: '0.0.0.0',
    port: 80,
    https: false,
    hotOnly: false, // See https://github.com/vuejs/vue-cli/blob/dev/docs/cli-service.md#configuring-proxy
    proxy: null, // string | Object
    proxy: {
      '/api': {
        // target: 'http://192.168.0.83:9090', // API服务器的地址
        // target: 'http://192.168.0.77:9090', // API服务器的地址
        target: 'https://test.cdpservice.com/api/', // API服务器的地址
        // target: 'http://101.200.182.193/api', // 线上地址
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    },
    before: app => { }
  },
  chainWebpack: (config) => {
    config
      .plugin('html')
      .tap(args => {
        args[0].title = ' 爱心阳光中国残疾人综合服务云平台'
        return args
      })
      const svgRule = config.module.rule('svg')
      // 清除已有的所有 loader。
      // 如果你不这样做，接下来的 loader 会附加在该规则现有的 loader 之后。
      svgRule.uses.clear()
      // 添加要替换的 loader
      svgRule
          .use('raw-loader')
          .loader('raw-loader')
  },
  configureWebpack: {
    output: {
      filename: `[name].${require('./package.json').version}.${new Date().getTime()}.js`,
      chunkFilename: `[name].${require('./package.json').version}.${new Date().getTime()}.js`
    },
    module: {
      rules: [
        {
          test: /\.txt$/,
          use: 'raw-loader'
        }
      ]
    }
  }
}
